#!/usr/bin/env python
# coding: utf-8

# # 1.Web服务API简介
# 
# * 高德Web服务API向开发者提供HTTP接口，开发者可通过这些接口使用各类型的地理数据服务，返回结果支持JSON和XML格式。Web服务API对所有用户开放。使用本组服务之前，需要申请应用Key。不同类型用户可获取不同的数据访问能力。

# # 2.测试API功能
# 
# ## 2.1 地理编码
# 
# * 结构化地址:
# > 首先，地址肯定是一串字符，内含国家、省份、城市、区县、城镇、乡村、街道、门牌号码、屋邨、大厦等建筑物名称。按照由大区域名称到小区域名称组合在一起的字符。一个有效的地址应该是独一无二的。注意：针对大陆、港、澳地区的地理编码转换时可以将国家信息选择性的忽略，但省、市、城镇等级别的地址构成是不能忽略的。暂时不支持返回台湾省的详细地址信息。
# 
# * 结构化地址---经纬度
# > 地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口，提供结构化地址与经纬度之间的相互转化的能力
# 

# In[65]:


# 调用requests 模块（打开google chrome浏览器）
import requests 


# In[66]:


# 2.请求url
geo_url = 'https://restapi.amap.com/v3/geocode/geo?parameters'

# 3.请求方式：GET


# 4.请求参数
payload = {
   'key':'0b3cfe54629af240818df4563fad0ba8' ,
    'address':'广东省内广州市从化区中山大学南方学院'
}

# 5.发起请求 
r = requests.get(url = geo_url, params = payload)


# In[67]:


r


# In[68]:


r.json()


# In[69]:


r.json()['geocodes'][0]['location']


# In[70]:


广州南方学院_location  = r.json()['geocodes'][0]['location']
广州南方学院_location


# ## 2.2逆地理编码

# In[71]:


# 2.请求url
regeo_url = 'https://restapi.amap.com/v3/geocode/regeo?parameters'

# 3.请求方式：GET


# 4.请求参数
payload = {
   'key':'0b3cfe54629af240818df4563fad0ba8' ,
   'location':广州南方学院_location,
    'extensions':'all',
    'poitype':'true'
}

# 5.发起请求 
r = requests.get(url = regeo_url, params = payload)


# In[72]:


r


# In[73]:


r.json()


# In[74]:


import pandas as pd 


# In[75]:


pd.json_normalize(r.json()['regeocode']['pois']).T


# In[76]:


pois = r.json()['regeocode']['pois']
pois


# ### 作业：
# * 尝试搜索POI2.0 接口
# * 获取中餐厅、西餐厅、快餐厅的信息(图片、内容等)
# 

# In[77]:


中餐厅_location = r.json()['regeocode']['pois'][-2]['location']
中餐厅_location


# In[78]:


中餐厅_id = r.json()['regeocode']['pois'][-2]['id']
中餐厅_id


# In[79]:


r.json()


# In[80]:


url_id = 'https://restapi.amap.com/v5/place/detail?parameters'
payload = {
    'key':'0b3cfe54629af240818df4563fad0ba8',
    'id':中餐厅_id,
    'location':中餐厅_location

}
r = requests.get(url=url_id,params=payload)


# In[81]:


r


# In[85]:


r.json()


# In[86]:


type = r.json()['pois'][0]['type']
type


# In[88]:


location_nan = r.json()['pois'][0]['location']
location_nan


# In[89]:


url = 'https://restapi.amap.com/v3/assistant/inputtips?parameters'
payload = {
    'key':'0b3cfe54629af240818df4563fad0ba8',
    'keywords':type,
    'location':'location'
}
r = requests.get(url,params=payload)


# In[90]:


r


# In[91]:


r.json()


# In[ ]:




